package com.meituan.sdk.model.ddzhkh.merchantreceipt.dzopenMerchantreceiptRefundaudit;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 非规则退审核接口
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzhkh/merchantreceipt/refundaudit",
    businessId = 59,
    apiVersion = "10015",
    apiName = "dzopen_merchantreceipt_refundaudit",
    needAuth = true
)
public class DzopenMerchantreceiptRefundauditRequest implements MeituanRequest<DzopenMerchantreceiptRefundauditResponse> {
    /**
    * <p data-diff-id="ct-diff-id-a27c069a-1e3e-4775-9bb7-cac14f412716">流水号，用于幂等校验</p><p data-diff-id="ct-diff-id-26c02648-81b9-4772-ae02-a41ab380aeac"><br></p>
    */
    @NotBlank(message = "sequenceId不能为空")
    @SerializedName("sequenceId")
    private String sequenceId;
    /**
    * <p data-diff-id="ct-diff-id-d55ff615-f0d3-4920-a6a2-4527b1c89f86">统一订单ID</p><p data-diff-id="ct-diff-id-25def8a4-f6ac-4ca6-b2fa-d7590fd56ef9"><br></p>
    */
    @NotBlank(message = "orderId不能为空")
    @SerializedName("orderId")
    private String orderId;
    /**
    * <p data-diff-id="ct-diff-id-b6d4f897-6c58-4773-99dd-5b019bbec202">退单ID</p>
    */
    @NotBlank(message = "refundId不能为空")
    @SerializedName("refundId")
    private String refundId;
    /**
    * <p data-diff-id="ct-diff-id-4c04342f-233d-43c9-97ed-1c2200ba688e"><span style="color: ">1.同意 2.拒绝</span></p>
    */
    @NotNull(message = "auditResult不能为空")
    @SerializedName("auditResult")
    private Integer auditResult;
    /**
    * <p data-diff-id="ct-diff-id-b1ce4041-224a-45b4-b4d8-8fa3e8634362">操作人ID<br></p>
    */
    @NotBlank(message = "operatorId不能为空")
    @SerializedName("operatorId")
    private String operatorId;
    /**
    * <p data-diff-id="ct-diff-id-01734180-248e-446b-8048-12805c18bbc4">操作人名称</p>
    */
    @SerializedName("operatorName")
    private String operatorName;
    /**
    * <p data-diff-id="ct-diff-id-48aa7426-fa64-47dc-95ee-9c183aeb1ba4">操作人IP</p>
    */
    @SerializedName("operatorIp")
    private String operatorIp;
    /**
    * <p data-diff-id="ct-diff-id-995e8e14-7aa7-4c8c-a2eb-a837373f2d6a">操作人电话</p>
    */
    @SerializedName("operatorMobile")
    private String operatorMobile;
    /**
    * <p data-diff-id="ct-diff-id-dcf90b47-bffb-4668-8373-767ae128ceb9">备注</p>
    */
    @SerializedName("operatorRemark")
    private String operatorRemark;
    /**
    * <p data-diff-id="ct-diff-id-c75afd77-43b3-4fa4-aaf4-d66f24fbfac6">门店Id</p>
    */
    @NotBlank(message = "opPoiId不能为空")
    @SerializedName("opPoiId")
    private String opPoiId;

    public String getSequenceId() {
        return sequenceId;
    }
    public void setSequenceId(String sequenceId) {
        this.sequenceId = sequenceId;
    }
    public String getOrderId() {
        return orderId;
    }
    public void setOrderId(String orderId) {
        this.orderId = orderId;
    }
    public String getRefundId() {
        return refundId;
    }
    public void setRefundId(String refundId) {
        this.refundId = refundId;
    }
    public Integer getAuditResult() {
        return auditResult;
    }
    public void setAuditResult(Integer auditResult) {
        this.auditResult = auditResult;
    }
    public String getOperatorId() {
        return operatorId;
    }
    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }
    public String getOperatorName() {
        return operatorName;
    }
    public void setOperatorName(String operatorName) {
        this.operatorName = operatorName;
    }
    public String getOperatorIp() {
        return operatorIp;
    }
    public void setOperatorIp(String operatorIp) {
        this.operatorIp = operatorIp;
    }
    public String getOperatorMobile() {
        return operatorMobile;
    }
    public void setOperatorMobile(String operatorMobile) {
        this.operatorMobile = operatorMobile;
    }
    public String getOperatorRemark() {
        return operatorRemark;
    }
    public void setOperatorRemark(String operatorRemark) {
        this.operatorRemark = operatorRemark;
    }
    public String getOpPoiId() {
        return opPoiId;
    }
    public void setOpPoiId(String opPoiId) {
        this.opPoiId = opPoiId;
    }


    @Override
    public MeituanResponse<DzopenMerchantreceiptRefundauditResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<DzopenMerchantreceiptRefundauditResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "DzopenMerchantreceiptRefundauditRequest{" + "sequenceId=" + sequenceId + "," + "orderId=" + orderId + "," + "refundId=" + refundId + "," + "auditResult=" + auditResult + "," + "operatorId=" + operatorId + "," + "operatorName=" + operatorName + "," + "operatorIp=" + operatorIp + "," + "operatorMobile=" + operatorMobile + "," + "operatorRemark=" + operatorRemark + "," + "opPoiId=" + opPoiId + "}";
    }
}
